/**
 * TDS PEC 4
 * Grupo 3H2M
 *
 * El paquete <code>edu.uoc.tds.pec4.server.bbdd.exceptions</code> agrupa las 
 * excepciones que se pueden producir en la gestión  del acceso a datos.
 */
package edu.uoc.tds.pec4.server.bbdd.exceptions;

import edu.uoc.tds.pec4.common.util.TDSLanguageUtils;

/**
 * La clase <code>DataBaseDAOException</code> define las excepciones que se
 * generen en DataBaseDAO en su acceso a la base de datos <br />
 * Clase que representa las excepciones que se produzcan en DataBaseDAO. <br />
 * 
 * Representa las excepciones para DataBaseDAO
 * 
 * @author	Luis Rodríguez-Manzaneque Sánchez
 * @author	Isabel Guerra Monclova 
 * @version	03/11/2011
 * @since	1.00
 */
public class DataBaseDAOException extends Exception {

    /**
     * Fichero de propiedades no encontrado
     */
    public static final String FILE_PROP_NOT_FOUND = TDSLanguageUtils.getMessage("bbdd.err.noencontrado");
    /**
     * Fichero no se puede leer
     */
    public static final String FILE_PROP_CAN_NOT_READ = TDSLanguageUtils.getMessage("bbdd.err.fichero");
    /**
     * Imposible conectar con la base de datos
     */
    public static final String CAN_NOT_CONNECT_DB = TDSLanguageUtils.getMessage("bbdd.err.desconocido");
    /**
     * Driver not found
     */
    public static final String DRIVER_NOT_FOUND = TDSLanguageUtils.getMessage("bbdd.err.drivernotfound");
    /**
     * No se puede abrir la base de datos
     */
    public static final String CAN_NOT_OPEN_DB = TDSLanguageUtils.getMessage("bbdd.err.abrir");
    /**
     * No se puede activar autocommit
     */
    public static final String CAN_NOT_AUTOCOMMIT = TDSLanguageUtils.getMessage("bbdd.err.autocommit");
    /**
     * No se puede hacer commit
     */
    public static final String CAN_NOT_COMMIT = TDSLanguageUtils.getMessage("bbdd.err.commit");
    /**
     * No se puede hacer rollback
     */
    public static final String CAN_NOT_ROLLBACK = TDSLanguageUtils.getMessage("bbdd.err.rollback");
    /**
     * No se puede montar el PreparedStatement
     */
    public static final String CAN_NOT_PREPAREDSTATEMENT = TDSLanguageUtils.getMessage("bbdd.err.preparedStatement");
    /**
     * No se puede ejecutar obtenerConsulta
     */
    public static final String CAN_NOT_EXECUTEQUERY = TDSLanguageUtils.getMessage("bbdd.err.obtenerConsulta");
    /**
     * No se puede cerrar los objetos de acceso a datos
     */
    public static final String CAN_NOT_CLOSE = TDSLanguageUtils.getMessage("bbdd.err.cerrar");
    /**
     * Error en la recuperación de usuarios general
     */
    public static final String ERROR_USUARIOS_GENERAL = TDSLanguageUtils.getMessage("err.dao.usuario.gen");
    //============= MaestrosDAO
    /**
     * Error en la recuperación de paises desde la BBDD
     */
    public static final String ERROR_LEER_PAISES_BBDD = TDSLanguageUtils.getMessage("err.dao.pais.bbdd");
    /**
     * Error en la recuperación de provincias desde la BBDD
     */
    public static final String ERROR_LEER_PROVINCIAS_BBDD = TDSLanguageUtils.getMessage("err.dao.provincias.bbdd");
    /**
     * Error en la recuperación de ciudades desde la BBDD
     */
    public static final String ERROR_LEER_CIUDADES_BBDD = TDSLanguageUtils.getMessage("err.dao.ciudades.bbdd");
    /**
     * Error en la recuperación de paises general
     */
    public static final String ERROR_MAESTROS_GENERAL = TDSLanguageUtils.getMessage("err.dao.maestros.gen");
    //============= SolicitudDAO
    /**
     * Error en la recuperación de c.fisicas desde la BBDD
     */
    public static final String ERROR_LEER_SOLICITUD_CFISICAS_BBDD = TDSLanguageUtils.getMessage("err.dao.solicitud.cfisicas.bbdd");
    /**
     * Error en la inserción de una solicitud en la BBDD
     */
    public static final String ERROR_ALTA_SOLICITUD = TDSLanguageUtils.getMessage("err.dao.solicitud.alta");
    /**
     * Error en la recuperación de equipamientos desde la BBDD
     */
    public static final String ERROR_LEER_SOLICITUD_EQUIPAMIENTOS_BBDD = TDSLanguageUtils.getMessage("err.dao.solicitud.equipamientos.bbdd");
    /**
     * Error en la recuperación de solicitudes desde la BBDD
     */
    public static final String ERROR_LEER_SOLICITUDES_BBDD = TDSLanguageUtils.getMessage("err.dao.solicitud.bbdd");
    /**
     * Error en la recuperación de una solicitud desde la BBDD
     */
    public static final String NO_EXISTE_SOLICITUD = TDSLanguageUtils.getMessage("err.dao.solicitud.noexiste");
    /**
     * Error en la recuperación de una reserva desde la BBDD
     */
    public static final String NO_EXISTE_RESERVA = TDSLanguageUtils.getMessage("err.dao.reserva.noexiste");
    /**
     * Error en la inserción de las caracteristicas fisicas en la BBDD
     */
    public static final String ERROR_INSERTAR_CFISICAS = TDSLanguageUtils.getMessage("err.dao.insertar.fisica");
    /**
     * Error en la inserción del equipamiento en la BBDD
     */
    public static final String ERROR_INSERTAR_EQUIPAMIENTO = TDSLanguageUtils.getMessage("err.dao.insertar.equipamiento");
    /**
     * Error en la cancelación de una solicitud
     */
    public static final String ERROR_CANCELAR_SOLICITUD = TDSLanguageUtils.getMessage("err.dao.cancelar.solicitud");
    /**
     * Error en la inserción de las caracteristicas fisicas en la BBDD
     */
    public static final String ERROR_CANCELAR_RESERVA = TDSLanguageUtils.getMessage("err.dao.insertar.fisica");
    /**
     * Error en la recuperación de solicitudes general
     */
    public static final String ERROR_AULAS_GENERAL = TDSLanguageUtils.getMessage("err.dao.aulas.gen");
    //============= AulaDAO
    /**
     * Error en la recuperación de aulas desde la BBDD
     */
    public static final String ERROR_LEER_AULAS_BBDD = TDSLanguageUtils.getMessage("err.dao.aula.bbdd");
    //============= ReservaDAO
    /**
     * Error en la recuperación de reservas desde la BBDD
     */
    public static final String ERROR_LEER_RESERVAS_BBDD = TDSLanguageUtils.getMessage("err.dao.reserva.bbdd");
    /**
     * La reserva es nula
     */
    public static final String RESERVA_NULA = TDSLanguageUtils.getMessage("err.dao.reserva.nula");
    /**
     * La solicitud es nula
     */
    public static final String SOLICITUD_NULA = TDSLanguageUtils.getMessage("err.dao.solicitud.nula");
    /**
     * Error en la inserción de una reserva en la BBDD
     */
    public static final String ERROR_ALTA_RESERVA = TDSLanguageUtils.getMessage("err.dao.reserva.alta");
    /**
     * Error en la recuperación de aulas libres desde la BBDD
     */
    public static final String ERROR_LEER_AULAS_LIBRES_BBDD = TDSLanguageUtils.getMessage("err.dao.reserva.aulaslibres");
    /**
     * Error en la baja lógica de un usuario
     */
    public static String ERROR_BAJA_USUARIO = TDSLanguageUtils.getMessage("err.dao.mantenimiento.usuario.baja");
    /**
     * Error en el alta lógica de un usuario
     */
    public static String ERROR_ALTALOGICA_USUARIO = TDSLanguageUtils.getMessage("err.dao.mantenimiento.usuario.altalogica");
    /**
     * Error en la consulta de un usuario
     */
    public static String ERROR_CONSULTA_USUARIO = TDSLanguageUtils.getMessage("err.dao.mantenimiento.usuario.consulta");
    /**
     * Error al modificar un usuario
     */
    public static String ERROR_MODIFICACION_USUARIO = TDSLanguageUtils.getMessage("err.dao.mantenimiento.usuario.modificar");
    /**
     * Error al asignar un rol a un usuario
     */
    public static String ERROR_ALTA_ROL = TDSLanguageUtils.getMessage("err.dao.mantenimiento.usuario.rol");
    //============= EquipamientoDAO
    /**
     * Error equipamiento nulo
     */
    public static String EQUIPAMIENTO_NULO = TDSLanguageUtils.getMessage("err.dao.mantenimiento.equipamiento.nulo");
    /**
     * Error en el alta de un equipamiento
     */
    public static String ERROR_ALTA_EQUIPAMIENTO = TDSLanguageUtils.getMessage("err.dao.mantenimiento.equipamiento.alta");
    /**
     * Error en la baja lógica de un equipamiento
     */
    public static String ERROR_BAJA_EQUIPAMIENTO = TDSLanguageUtils.getMessage("err.dao.mantenimiento.equipamiento.baja");
    /**
     * Error en la reactivación de un equipamiento
     */
    public static String ERROR_ALTALOGICA_EQUIPAMIENTO = TDSLanguageUtils.getMessage("err.dao.mantenimiento.equipamiento.altalogica");
    /**
     * Error en la consulta de un equipamiento
     */
    public static String ERROR_CONSULTA_EQUIPAMIENTO = TDSLanguageUtils.getMessage("err.dao.mantenimiento.equipamiento.consulta");
    /**
     * Error al modificar un equipamiento
     */
    public static String ERROR_MODIFICACION_EQUIPAMIENTO = TDSLanguageUtils.getMessage("err.dao.mantenimiento.equipamiento.modificar");
    /**
     * Error al obtener la lista de equipamientos
     */
    public static String ERROR_LEER_EQUIPAMIENTOS_BBDD = TDSLanguageUtils.getMessage("err.dao.mantenimiento.equipamiento.lista");
    //============= AuditoriaDAO
    /**
     * Error auditoria nula
     */
    public static String ERROR_AUDITORIA_NULA = TDSLanguageUtils.getMessage("err.dao.auditoria.nula");
    /**
     * Error general en el subsistema de mantenimiento
     */
    public static String ERROR_MAESTROS_MANTENIMIENTO_GENERAL = TDSLanguageUtils.getMessage("err.dao.mantenimiento.equipamiento.general");
    //===============CONEXION
    /**
     * Error en la recuperación de tipos de encuentros desde la BBDD
     */
    public static final String ERROR_LEER_ENCUENTROS_BBDD = TDSLanguageUtils.getMessage("err.dao.encuentros.bbdd");
    /**
     * Error al dar de alta una auditoria
     */
    public static String ERROR_ALTA_AUDITORIA = TDSLanguageUtils.getMessage("err.dao.auditoria.alta");
    //============= AulaDAO
    /**
     * Error aula nula
     */
    public static String AULA_NULA = TDSLanguageUtils.getMessage("err.dao.mantenimiento.aula.nulo");
    /**
     * Error en el nombre del aula
     */
    public static String NOMBRE_AULA_NULA = TDSLanguageUtils.getMessage("err.dao.mantenimiento.aula.nombrenulo");
    /**
     * Error en el alta de un aula
     */
    public static String ERROR_ALTA_AULA = TDSLanguageUtils.getMessage("err.dao.mantenimiento.aula.alta");
    /**
     * Error en la baja lógica de un aula
     */
    public static String ERROR_BAJA_AULA = TDSLanguageUtils.getMessage("err.dao.mantenimiento.aula.baja");
    /**
     * Error en la consulta de un aula
     */
    public static String ERROR_CONSULTA_AULA = TDSLanguageUtils.getMessage("err.dao.mantenimiento.aula.consulta");
    /**
     * Error al modificar un aula
     */
    public static String ERROR_MODIFICACION_AULA = TDSLanguageUtils.getMessage("err.dao.mantenimiento.aula.modificar");
    /*
     * Error al asignar una característica física a un aula
     */
    public static String ERROR_CFISICA_AULA = TDSLanguageUtils.getMessage("err.dao.mantenimiento.aula.cfisica");
    /**
     * Error al consultar los roles de un usuario
     */
    public static String ERROR_CONSULTA_ROLES_USUARIO = TDSLanguageUtils.getMessage("gmantenimiento.err.usuario.roles");
    /**
     * Error por usuario nulo
     */
    public static String USUARIO_NULO = TDSLanguageUtils.getMessage("gmantenimiento.err.usuario.nulo");
    /**
     * Error al dar de alta un usuario
     */
    public static String ERROR_ALTA_USUARIO = TDSLanguageUtils.getMessage("gmantenimiento.err.usuario.alta");
    /** 
     * Error al dar de alta la cta. corriente de un cliente
     */
    public static String ERROR_ALTA_CC_CLIENTE = TDSLanguageUtils.getMessage("gmantenimiento.err.usuario.cc");
    /**
     * Error al obtener el siguiente equipamiento a dar de alta
     */
    public static String ERROR_OBTENER_SECUENCIA_EQUIPAMIENTO = TDSLanguageUtils.getMessage("auditoria.err.secuencia.equipamiento");
    /**
     * Error al obtener el siguiente aula a dar de alta
     */
    public static String ERROR_OBTENER_SECUENCIA_AULA = TDSLanguageUtils.getMessage("auditoria.err.secuencia.aula");

    /**
     * Error al realizar el alta lógica de un aula
     */
    public static String ERROR_ALTALOGICA_AULA = TDSLanguageUtils.getMessage("auditoria.err.aula.altalogica");;
    /**
     * Error al consultar unl rol asignado a un usuario
     */
    public static String ERROR_CONSULTA_ASIGNACION_ROL = TDSLanguageUtils.getMessage("err.dao.usuario.consulta.rol");
    ;
    
    /**
     * Error al leer una característica física de la base de datos
     */
    public static String ERROR_LEER_CFISICA_BBDD = TDSLanguageUtils.getMessage("err.dao.aula.consulta.cfisica");
    ;
    
    /**
     * Error al desasignar un rol a un usuario
     */
    public static String ERROR_BAJA_ROL = TDSLanguageUtils.getMessage("err.dao.usuario.asigna.rol");

    ;   
    
    /**
     * Constructor de la clase.<br />
     * Construye una nueva excepcion del DataBaseDAO con la causa especificada.<br />
     * @param   cause La causa (la cual se guarda para su posterior recuperación por 
     *          el método #getCause()).
     */
    public DataBaseDAOException(Throwable cause) {
        super(cause);
    }

    /**
     * Constructor de la clase.<br />
     * Construye una nueva excepcion del DataBaseDAO con la causa y el mensaje 
     * de detalle especificado.<br />
     * Notar que el mensaje de detalle asociado a la causa no es incorporado 
     * automáticamente en este mensaje de la excepción de DataBaseDAO.
     * @param   message El mensaje de detalle The detail message (que se guarda para 
     *          su posterior recuperación por el método #getMessage()).
     * @param   cause La causa (la cual se guarda para su posterior recuperación por 
     *          el método #getCause()).
     */
    public DataBaseDAOException(String message, Throwable cause) {
        super(message, cause);
    }

    /**
     * Construye una nueva excepcion del DataBaseDAO con el mensaje de detalle 
     * especificado.<br />
     * La causa no es inicializada, y puede ser después inicializada mediante
     * una llamada a #initCause
     * @param   message El mensaje de detalle The detail message (que se guarda para 
     *          su posterior recuperación por el método #getMessage()).
     */
    public DataBaseDAOException(String message) {
        super(message);
    }

    /**
     * Constructor de la clase.<br />
     * Constructor heredado de la clase Exception, sin parámetros. Es el caso
     * por defecto.
     */
    public DataBaseDAOException() {
        super();
    }
}
